﻿using System.Linq;
using Vk.Methods.Common;

namespace Vk.Methods.Messages
{
    /// <summary>
    ///     Результат выполнения метода messages.getHistory
    /// </summary>
    public class GetHistoryResult
    {
        /// <summary>
        ///     Список сообщений
        /// </summary>
        public ListCount<Message> Items { get; set; }

        /// <summary>
        ///     Количество пропущенных сообщений (реальное значение offset, которое использовалось для получения интервала
        ///     истории).
        /// </summary>
        public int? Skipped { get; set; }

        /// <summary>
        ///     Количество непрочитанных входящих сообщений
        /// </summary>
        public int? Unread { get; set; }

        public GetHistoryResult(ApiNode node)
        {
            Items = new ListCount<Message>(node.Int("count").Value,
                                           node.SelectNodes("items/*").Select(x => new Message(x)).ToList());
            Unread = node.Int("unread");
            Skipped = node.Int("skipped");
        }
    }
}